﻿#include "email.h"
#include<QString>
#include<QMessageBox>
#include"smtp.h"
QRegularExpression Email::pattern("^\\w+([-+.]\\w+)*@\\w+([-.]\\w+)*$");
QRegularExpression Email::obj("@(.*?$)");
//TODO 如何初始化
//SMTP Email::admin("lbz1278497228@163.com","ZYGNSWPISPVGTSFL");
Email::Email(QString n)
{

    name =n;
    code = nullptr;
    if(check_email()){
        server = GetServer();
    }else{
        //TODO 保证有效
//        QMessageBox::warning(this,"警告",,"您输入的邮箱有误！\n请重新输入！");
    }
}
bool Email::check_email(){
    QRegularExpressionMatch match = Email::pattern.match(name);
    server = Email::obj.match(name).captured(1);
    return match.hasMatch();
}

QString Email::GetName(){return name;}
QString Email::GetServer(){return server;}
Email::~Email(){
    delete code;
}

QByteArray Email::GetByteName(){
    return name.toLocal8Bit();
}

void Email::SendCode(){
    if(code == nullptr){
        code = new VerifyCode();
    }
    if(code->GetStatus()){
        //send
        code->GenerateCode();
        SMTP admin("mlibrary@163.com","LRGCXQVRISOWQHLA");

        QString content = "尊敬的用户：\n您好！\n\t本次操作的验证码为:"+code->GetCode()+"\n注意：验证码仅在5分钟内有效，请尽快使用。";
        admin.send(this->GetByteName(),"欢迎使用图书管理系统",content);
        code->flag =true;
        qDebug()<<"here";
    }else{
        QMessageBox::information(nullptr,"提示","验证码已发送!");
        //TODO 验证码已发送，请稍等
    }
}
void Email::SendEmail(QString title,QString content){

    SMTP admin("mlibrary@163.com","LRGCXQVRISOWQHLA");
    admin.send(this->GetByteName(),title,content);
}
